In a digital communication system, using a standard such as SONET, packets of information ("messages") are routed between network elements. A message may be routed through many network elements on its path from source to destination. Typically, the routing for all channels connected to a network element is performed on a single card.
Processing all channels of a network element on a single card poses several problems. Technically, there are limitations as to how many channels can be efficiently routed using a single card. Further, purchasers of a network element would often prefer not to have a card designed for a preset number of channels, which may force them to purchase a network element with excess capacity or a network element which may have insufficient capacity at a later date.
The routing function can be made scalable, i.e., capable of expansion or contraction, by distributing the routing over a plurality of cards (hereinafter "circuit packs"). In the prior art, each circuit pack uses a proprietary protocol for exchanging routing databases between circuit paths in a network element. The proprietary protocol must be supported in the routing hardware as well. Thus, the design of a distributed routing network element requires a significant cost in development over an existing single-card routing design. Further, the exchange of database information can often be complex, and therefore, slow.
Therefore, a need has arisen in the industry for a distributed routing architecture which may be adapted to prior single-card architectures without significant additional development effort. Further, the distributed routing function should not add significant delay to the transport of messages.